//
// Created by 张玭 on 24-6-17.
//

# pragma once//防止头文件重复包含

#include "iostream"
#include "worker.h"
#include "fstream"
#include "set"
#include "vector"
#define FILENAME "../EmployeeManger/empFile.txt"  //需要确保存在当前文件夹路径才行，否则会报错
using namespace std;

class workerManager {
public:
    /*构造函数*/
    workerManager();

    /*析构函数*/
    ~workerManager();

    /*菜单展示函数*/
    void showMenu(); //显示菜单

    set<int> m_EmpIds; // 用来存储所有的职工ID,用以唯一化id

    /*记录职工人数*/
    int m_EmpNum;

    /*职工数组指针*/
    Worker **m_EmpArray;

    /*添加职工*/
    void addEmp();

    /*退出程序函数*/
    static void exitSystem(); //退出系统

    /*显示职工信息*/
    void showEmp() const;

    /*保存到文件*/
    void saveToFile();

    /*读取文件*/
    void readFromFile();

    /*删除职工*/
    void delEmp();

    /*判断职工是否存在*/
    int isExist(int i) const;

    vector<int> isExist(const string& name) const;

    /*打印m_EmpIds*/
    void printEmpIds() const;

    /*修改职工*/
    void modEmp();

    /*查找职工*/
    void findEmp();

    /*排序员工*/
    void sortEmp();

    /*清空文件*/
    void clearFile();
};
